package com.woniu.annotation;

import java.lang.annotation.*;

/**
 * @Author pml
 * @Date 2025/6/19 15:23
 * @Description TODO
 * 操作日志自定义注解
 * 用于标记需要记录操作日志的控制器方法
 * 保留策略设置为RUNTIME，确保AOP能在运行时获取注解信息
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface OperateLog {
    /**
     * 操作模块名称
     * @return 模块名(如user/task/contest)
     */
    String module() default "";

    /**
     * 操作类型
     * @return 操作类型(add/update/delete/query)
     */
    String operateType() default "";

    /**
     * 操作内容描述
     * @return 描述文本
     */
    String content() default "";

    /**
     * 是否记录请求参数
     * @return true-记录，false-不记录
     */
    boolean recordParams() default true;

    /**
     * 是否记录响应结果
     * @return true-记录，false-不记录
     */
    boolean recordResult() default true;
}
